The prevalence of mobile devices leads to more and more location-based services that are accessible with mobile devices. Location-based services utilize the geographical position of the mobile devices and include services to identify the location of a person, object or service. The geographical location of a mobile device may be determined by a location engine of the mobile device based on, for example, a global navigation satellite system (GNSS), a Wi-Fi positioning system (WPS) or an inertial navigation system (INS). Location-related information provided by the location engine, is utilized by one or more higher-layer software applications running on the mobile device that render one or more services to a user of the mobile device. As the location of a mobile device carried by a user is expected to change from time to time, there presently exist a few approaches for the location engine to report location-related information to one or more modules and applications of higher layer(s).
One of the approaches is for the location engine to provide location-related information according to a regular periodic reporting pattern. According to the regular periodic reporting pattern, the location engine provides, or reports, the location-related information to a module or application that needs the information periodically. For example, the location engine may provide location-related information with passage of every 1 second of time with updated location-related information. The reporting may be more frequent or less frequent depending on the particular need. In any case, the periodicity based on which the location engine reports the location-related information is set and does not change. Under this approach, the location engine reports the location-related information periodically irrespective of whether the location of the mobile device is changing or whether the application or module that utilizes the location-related information may still render the location-based service to the user with less frequent updates of the location-related information. From a perspective of power conservation, this approach may at times consume power unnecessarily.
Another approach is a one-time, on-request approach in that the location engine does not provide location-related information, unless it is requested by a module or an application to provide the location-related information. In terms of power conservation, this approach may be better than the above-described approach. However, this may be at the expense of accuracy of the provided location-related information. More specifically, as a given amount of time may be required for the location engine to obtain the latest geographical information of the mobile device, the location engine may not have the most up-to-date geographical information at the time when it receives the request for location-related information. For example, when the location engine uses GNSS to determine the geographical location of the mobile device, it takes a duration referred to as the time to first fix for the location engine to acquire satellite signals and navigation data to calculate a location solution. Accordingly, when the mobile device is on the move with its location continuously changing, this approach may be undesirable.
The Detailed Description references the accompanying figures. In the figures, the left-most digit(s) of a reference number identifies the figure in which the reference number first appears. The same numbers are used throughout the drawings to reference like features and components.